Skip to content

feat: adding agentic audience proposal - #24

Open
emilhlauritsenWT wants to merge 4 commits into
IABTechLab:devfrom
emilhlauritsenWT:ADD_DATA_SEGMENT_WITH_EMBEDDINGS_proposal
Open

emilhlauritsenWT wants to merge 4 commits into
IABTechLab:devfrom
emilhlauritsenWT:ADD_DATA_SEGMENT_WITH_EMBEDDINGS_proposal

Conversation

@emilhlauritsenWT

@emilhlauritsenWT emilhlauritsenWT commented Sep 18, 2026 •

Copy link
Copy Markdown

SUPPORTING DOC: ARTF A.A. ADD_EMBEDDINGS

Summary

This PR proposes a new ADD_EMBEDDINGS intent so an ARTF agent can attach OpenRTB user data segments that carry Agentic Audiences embeddings (segment[].ext.aa) to a bid request.

It does not invent a new bidstream carrier or a new ARTF payload type. It reuses:

Embeddings are required for this intent (ext.aa must be present on each segment).

This is a strictly additive schema extension:

  • Intent.ADD_EMBEDDINGS = 9
  • reuses existing DataPayload content_data = 104 (no new payload field)

Hosts and agents that do not use embeddings are unaffected. Experimental reserved ranges (1000–1999) are untouched.

Dependency: OpenRTB protobuf Segment.ext.aa — openrtb2.x#188.

Changes

  • proto/agenticrtbframework.proto — adds ADD_EMBEDDINGS = 9; reuses content_data / DataPayload
  • docs/00-EXAMPLE.md — intent table, mapping, and example mutation
  • docs/intents/add-embeddings.md — intent usage guide

Example

{
  "intent": "ADD_EMBEDDINGS",
  "op": "OPERATION_ADD",
  "path": "/user/data",
  "content_data": {
    "data": [
      {
        "name": "data-provider",
        "segment": [
          {
            "id": "seg-ctx-001",
            "name": "descriptive-name",
            "ext": {
              "aa": {
                "ver": "1.0.0",
                "vector": "mpkZPq5HYb5SuJ4+PQrXPo/C9T7NzEy97FE4Pilcj74=",
                "dimension": 8,
                "model": "sbert-mini-ctx-001",
                "type": [2]
              }
            }
          }
        ]
      }
    ]
  }
}

@ixranli

ixranli commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

Adding a README that explains how this intent is meant to be referenced/used beyond this MR would help. We still need to backfill READMEs for the other intents, but since we're introducing a new intent here, this is a good place to start:

For example:

ADD_CIDS

Attaches user segments containing agentic audiences embeddings

Payload: DataPayload via the content_data field. Each data object must include aa.

Eligible paths:

  • /user/data — targets the user.

Payload fields:

  • data: list of OpenRTB data objects to attach to user.
  • data.name: data provider name.
  • data.segment: a list of data segments from the data provider.
  • data.segment.id: segment identifier.
  • data.segment.name: segment name.
  • data.segment.ext.aa: required embeddings for the segment.

Example mutation

{
  "intent": "ADD_DATA_SEGMENT_WITH_EMBEDDINGS",
  "op": "OPERATION_ADD",
  "path": "/user/data",
  "data_segments": {
    "data": [
      {
        "name": "data-provider",
        "segment": [
          {
            "id": "seg-ctx-001",
            "name": "descriptive-name",
            "ext": {
              "aa": {
                "ver": "1.0.0",
                "vector": "mpkZPq5HYb5SuJ4+PQrXPo/C9T7NzEy97FE4Pilcj74=",
                "dimension": 8,
                "model": "sbert-mini-ctx-001",
                "type": [2]
              }
            }
          }
        ]
      }
    ]
  }
}

Comment thread docs/00-EXAMPLE.md Outdated
Comment thread docs/00-EXAMPLE.md Outdated
@emilhlauritsenWT
emilhlauritsenWT force-pushed the ADD_DATA_SEGMENT_WITH_EMBEDDINGS_proposal branch from 86c9c31 to ec63c4b Compare October 2, 2026 07:41
@emilhlauritsenWT
emilhlauritsenWT changed the base branch from main to dev October 2, 2026 07:41
@aleksUIX

aleksUIX commented Oct 4, 2026

Copy link
Copy Markdown

The PR description still says ADD_DATA_SEGMENT_WITH_EMBEDDINGS and data_segments = 105, but the proto adds ADD_EMBEDDINGS = 9 and reuses content_data. Could you update the description? It currently describes a different wire change.

@emilhlauritsenWT

Copy link
Copy Markdown
Author

The PR description still says ADD_DATA_SEGMENT_WITH_EMBEDDINGS and data_segments = 105, but the proto adds ADD_EMBEDDINGS = 9 and reuses content_data. Could you update the description? It currently describes a different wire change.

Updated

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants